package com.yunji.cabinet.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunji.common.annotation.Excel;
import com.yunji.common.base.BaseDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;

/**
 * @author : peter-zhu
 * @date : 2025/1/17 16:45
 * @description : TODO
 **/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("tl_device_event")
public class DeviceEventDO extends BaseDO {
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "事件id")
    private Long eventId;

    @ApiModelProperty(value = "事件命令的参数")
    private String eventParam;

    @ApiModelProperty(value = "事件数据的id")
    private Long eventDataId;

    @ApiModelProperty(value = "事件数据的唯一值")
    private String eventDataCode;

    private String eventType;

    private String eventCmd;

    @Excel(name = "所属ID", width = 15)
    private Long belongId;

    @Excel(name = "货柜ID", width = 15)
    private Long containerId;

    @ApiModelProperty("货柜类型")
    @Excel(name = "货柜类型", width = 15)
    private String containerType;

    @ApiModelProperty("货柜名称")
    @Excel(name = "货柜名称", width = 15)
    private String containerName;

    @ApiModelProperty(value = "imei")
    @Excel(name = "imei", width = 15)
    private String imei;

    @ApiModelProperty("商品信息")
    @Excel(name = "商品信息", width = 15)
    private String productMsg;

//    @Excel(name = "商品ID", width = 15)
//    private Long productId;
//
//    @ApiModelProperty("sku")
//    @Excel(name = "sku", width = 15)
//    private String sku;

//    @ApiModelProperty("货柜格子号")
//    private Integer ordinal;

    @ApiModelProperty("货柜商品状态 0-缺货 1-不缺货")
    private Integer lackStatus;

    @ApiModelProperty("代理商ID")
    @Excel(name = "代理商ID", width = 15)
    private Long agentId;

    @ApiModelProperty("代理商名称")
    @Excel(name = "代理商名称", width = 15)
    private String agentName;

    @Excel(name = "网点ID", width = 15)
    private Long siteId;

    @ApiModelProperty("网点名称")
    @Excel(name = "网点名称", width = 15)
    private String siteName;

    @ApiModelProperty("点位id")
    private Long locationId;

    @Excel(name = "点位名称", width = 15)
    private String locationName;

    @ApiModelProperty(value = "用户ID")
    private Long userId;

    @Excel(name = "用户类型")
    @ApiModelProperty(value = "用户类型")
    private String userType;

    @Excel(name = "用户名称", width = 15)
    @ApiModelProperty(value = "用户名称")
    private String realName;

    @Excel(name = "用户手机号", width = 15)
    @ApiModelProperty(value = "用户手机号")
    private String phone;

    private String beforeCmd;

    private String afterCmd;

    private Integer finishStatus;
}
